The ability to act quickly and decisively in today's increasingly competitive marketplace is critical to the success of any organization. The volume of data that is available to organizations is rapidly increasing and frequently overwhelming. The availability of large volumes of data presents various challenges. One challenge is to avoid inundating an individual with unnecessary information. Another challenge is to ensure all relevant information is available in a timely manner.
One known approach to addressing these and other challenges is known as data warehousing. Data warehouses, relational databases, and data marts are becoming important elements of many information delivery systems because they provide a central location where a reconciled version of data extracted from a wide variety of operational systems may be stored. As used herein, a data warehouse should be understood to be an informational database that stores shareable data from one or more operational databases of record, such as one or more transaction-based database systems. A data warehouse typically allows users to tap into a business's vast store of operational data to track and respond to business trends that facilitate forecasting and planning efforts. A data mart may be considered to be a type of data warehouse that focuses on a particular business segment.
Decision support systems have been developed to efficiently retrieve selected information from data warehouses. One type of decision support system is known as an on-line analytical processing system (“OLAP”). In general, OLAP systems analyze the data from a number of different perspectives and support complex analyses against large input data sets.
There are at least three different types of OLAP architectures—ROLAP, MOLAP, and HOLAP. ROLAP (“Relational On-Line Analytical Processing”) systems are systems that use a dynamic server connected to a relational database system. Multidimensional OLAP (“MOLAP”) utilizes a proprietary multidimensional database (“MDDB”) to provide OLAP analyses. The main premise of this architecture is that data must be stored multidimensionally to be viewed multidimensionally. A HOLAP (“Hybrid On-Line Analytical Processing”) system is a hybrid of these two.
Typically, business users rely on the above-noted OLAP systems to analyze large volumes of their business information in order to ascertain useful trends and productivity information. The OLAP systems are used to query databases containing the business information and to generate customizable reports which summarize this information.
While OLAP systems are a powerful tool for querying a business entity's business information databases, the reports generated by these systems are not the preferred method of conveying information to other members of a business organization, in particular business managers and others who rely on this information to make business decisions. One reason for this, as noted above, is that interfacing with OLAP systems often requires technical expertise that is only possessed by relatively few individuals in a business organization. It is often necessary to learn a new programming interface in order to operate the OLAP system. Also, because OLAP systems are proprietary and relatively expensive, installation of OLAP clients is not universal among business employee computer systems. Generally, only those who have a need to interface with the OLAP system will have the OLAP client installed on their desktop computer. Another limitation of OLAP systems is that they typically have only limited formatting options available. As a result, reports generated by OLAP systems are frequently exported and used in other applications, such as, for example, business productivity clients whose installation and use is often more universal. These business productivity clients include, but are not limited to the MICROSOFT OFFICE suite of business productivity clients including ACCESS database, EXCEL spreadsheet, MSWORD word processor and POWERPOINT presentation tool. These applications allow users to create sophisticated documents and visual presentations that transform raw business data into an aesthetically pleasing and meaningful format. As a result, their use in the business world has become nearly universal.
Generating customizable reports based on the various user-defined SQL queries of a business entities data is a key feature of OLAP systems. For a description of OLAP reports and reporting functionality, refer to commonly assigned U.S. Pat. No. 6,279,033 hereby incorporated by reference in its entirety.
Because OLAP system is used to move and analyze the data rather than to create it, formatting problems can arise between the analyzed engine of the OLAP system and the data records themselves. One specific problem with generating reports based on field indexed data arises when two or more identically indexed entries exist in a report. For example, if the information is sales total figures for a particular reporting period, there may be two or more data records with corresponding values that are indexed the same way, depending on the number of index fields associated with the value. The reporting period 2005, may have, for example, 4 reporting periods, i.e., quarters 1 through 4, however, if the quarter identifier index field is not selected in the query, the records become indistinguishable and are merely aggregated. It may however, be desirable to identify and visualize the different reporting periods without having to include the quarter identifier index field. Alternatively, the particular distinguishing identifier index field may be visually meaningless, such as for example, a numeric code, or it may even be unavailable depending upon the state of the data being accessed by the OLAP system.
In the database arts, one method of distinguishing between otherwise identically indexed entries is to use a key variable, that is, an incremented number that uniquely identifies each row in a database table. This solution is impractical to the OLAP systems because the data may be from a variety of different sources and in differing formats. OLAP systems analyze data from a number of different perspectives and support complex analyses against large input data sets using templates and analysis routines rather than writing data records to the various data sources. Also, using an incremented key value provides an unnecessarily cumbersome scheme for distinguishing records because the key value can become extremely large. Furthermore, it is not necessary to have a key value to distinguish non-identically indexed entries. Rather it is only necessary to distinguish identically indexed entries from one another. This greatly reduces the required number of identifying indices.
Therefore, there exists a need to be able to distinguish non-uniquely indexed entries from one another in a report generated by an OLAP system.